var isIE = !-[1,];
var isFlash = false;
var wordSuffix = 'doc,docx,';// 1 word
var excelSuffix = 'xls,xlsx,';// 2 excel
var pptSuffix ='ppt,pptx,';// 3 ppt

var imageSuffix = 'svg,swf,tiff,gif,jpg,jpeg,bmp,png,';//4 image
var txtSuffix = 'txt,';//5 txt
var pdfSuffix = 'pdf,';//6 pdf
var videoSuffix = 'wmv,asf,asx,rm,rmvb,mpg,mpeg,mpe,3gp,mov,mp4,MP4,m4v,avi,dat,mkv,flv,vob,dwg,skp,psd,PSD';// 7 video
var voiceSuffix = 'wav,aif,au,mp3,ram,wma,mmf,amr,aac,flac,';// 8 video
var compressSuffix = 'zip,rar,';//9 压缩文件


var uploaderFile = function(fileDivId,fileBtnId,url,type){	
    var $ = jQuery,
    $list = $('#'+fileDivId),
    // 优化retina, 在retina下这个值是2
    ratio = window.devicePixelRatio || 1,
    
    // 缩略图大小
    thumbnailWidth = 100 * ratio,
    thumbnailHeight = 100 * ratio,

    // Web Uploader实例
    uploader;
     if(typeof(type)=='undefined'){
		type = wordSuffix + excelSuffix + pptSuffix + imageSuffix + txtSuffix + pdfSuffix + videoSuffix + voiceSuffix + compressSuffix;
	 } 
		// 初始化Web Uploader
		uploader = WebUploader.create({
		    // 自动上传。
		    auto: true, 
		    // swf文件路径
		    swf: '/js/Uploader.swf',
		    // 文件接收服务端。

		    server: '/fileupload.php',

		    // 选择文件的按钮。可选。
		    // 内部根据当前运行是创建，可能是input元素，也可能是flash.
		    pick: '#'+fileBtnId,
			innerHTML:'导入' ,
	    	label :'导入' ,
		    dnd: '#'+fileDivId, 
		    chunked: false,
		    //禁用拖入
		    disableGlobalDnd:true,

		    //粘贴区域
		    //paste:document.body,
		    //最大数量

		    fileNumLimit:10,
		    //文件总大小
		    fileSizeLimit: 1000 * 1024 * 1024,    // 100 M
		    //单个文件大小  
			fileSingleSizeLimit: 1000 * 1024 * 1024,    // 100 M

			container:$('#fileBtnId'),
			compressSize: 512000,
			compress:{
		        width: 1000,
		        height: 800,
		        // 图片质量，只有type为`image/jpeg`的时候才有效。
		        quality: 50,
		        // 是否允许放大，如果想要生成小图的时候不失真，此选项应该设置为false.
		        allowMagnify: false,
		        // 如果发现压缩后文件大小比原来还大，则使用原来图片
		        // 此属性可能会影响图片自动纠正功能
		        noCompressIfLarger: false,
		        // 单位字节，如果图片大小小于此值，不会采用压缩。
		        compressSize: 512000
			},			
		    // 只允许选择文件，可选。
		    accept: {
		        title: 'commonFile',
		        extensions:type,
		        mimeTypes: '*'
		    }
		});
		// '<div id="' + file.id + '" class="item">' +
  //         '<h4 class="info">' + file.name + '</h4>' +
  //         '<p class="state">等待上传...</p>' +
  //          '</div>' 
  //          

  //      $list.append( '<tr><td><div style="text-align:left" id="' + file.id + '" class="p_filName">' + file.name + '</div> </td><td><div>'+str+'</div></td><td><div class="p_progressBar"><span style="width:100%"></span><i>100%</i></div> </td><td><div><a id="deleteFile" href="javascript:;" class="a_green">删除</a></div></td></tr>' );
		// 当有文件添加进来的时候
		uploader.on( 'fileQueued', function( file ) {
			var d = new Date(),
		     str = '';
			 str += d.getFullYear()+'-';
			 str  += d.getMonth() + 1+'-';
		     str  += d.getDate()+' ';
			 str += d.getHours()+':'; 
		    str  += d.getMinutes()+':'; 
			str+= d.getSeconds(); 
			$list.append( '<div id="' + file.id + '">'+ file.name +'</div>');
		});


// 文件上传过程中创建进度条实时显示。
	uploader.on( 'uploadProgress', function( file, percentage ) {
		var $li = $( '#'+file.id ),
				$percent = $li.find('.progress .progress-bar');

		// 避免重复创建
		if ( !$percent.length ) {
			$percent = $('<div class="progress progress-striped active">' +
					'<div class="progress-bar" role="progressbar" style="width: 0%">' +
					'</div>' +
					'</div>').appendTo( $li ).find('.progress-bar');
		}

		$percent.css( 'width', percentage * 100 + '%' );

	});


	uploader.on( 'uploadSuccess', function( file,res) {

          $('#'+file.id ).attr('fileinfo',res._raw);
		}); 
		// 文件上传失败，现实上传出错。
		uploader.on( 'uploadError', function( file,res) {
		});
		
		// 完成上传完了，成功或者失败，先删除进度条。
		uploader.on( 'uploadComplete', function( file ) {
			$( '#'+file.id ).find('.progress').fadeOut();

		});
      //删除附件
        $(document).on('click','#deleteFile',function(){
        	var file_box=$(this).parent().parent().parent();
         	file_box.remove();
         	//alert(file_box.attr('id'));          

         })

    return uploader;
}		
	
